home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / news / inn1.000 / inn1.4sec-linux-src.tar / inn / lib / Makefile < prev    next >
Makefile  |  1993-03-18  |  6KB  |  199 lines

  1. ##  $Revision: 1.26 $
  2. SHELL    = /bin/sh
  3. MAKE    = make
  4. IFTRUE    = @$(SHELL) ../iftrue.sh
  5.  
  6. ##  =()<P    = @<P>@>()=
  7. P    = 
  8.  
  9. ##  =()<CC    = @<CC>@>()=
  10. CC    = cc
  11. ##  =()<DEFS    = @<DEFS>@>()=
  12. DEFS    = -I../include
  13. ##  =()<CFLAGS    = @<CFLAGS>@>()=
  14. CFLAGS    = $(DEFS) -g
  15. ##  =()<DBZCFLAGS    = @<DBZCFLAGS>@>()=
  16. DBZCFLAGS    = $(CFLAGS) -DMMAP
  17. ##  =()<LDFLAGS    = @<LDFLAGS>@>()=
  18. LDFLAGS    = -g
  19. ##  =()<LINTLIBSTYLE    = @<LINTLIBSTYLE>@>()=
  20. LINTLIBSTYLE    = BSD
  21. ##  =()<LINTFLAGS    = @<LINTFLAGS>@>()=
  22. LINTFLAGS    = -b -h -z $(DEFS)
  23. ##  =()<LINTFILTER    = @<LINTFILTER>@>()=
  24. LINTFILTER    = | sed -n -f ../sedf.sun
  25. ##  =()<YACC    = @<YACC>@>()=
  26. YACC    = yacc
  27. ##  =()<CTAGS        = @<CTAGS>@>()=
  28. CTAGS        = ctags -t -w
  29. ##  =()<PROF    = @<PROF>@>()=
  30. PROF    = -pg
  31.  
  32. ##  =()<RANLIB    = @<RANLIB>@>()=
  33. RANLIB    = ranlib
  34.  
  35. ##  For OSx systems, get these from the ATT Universe libc.
  36. ##  See the rule for version.o, below.
  37. OSXATTOBJ= version.o memchr.o memcmp.o memcpy.o memset.o strchr.o strrchr.o
  38.  
  39. ##  =()<DBZDIR    = @<DBZDIR>@>()=
  40. DBZDIR    = ../dbz
  41. ##  =()<MISSING_SRC = @<MISSING_SRC>@>()=
  42. MISSING_SRC = strerror.c
  43. ##  =()<MISSING_OBJ = @<MISSING_OBJ>@>()=
  44. MISSING_OBJ = strerror.o
  45.  
  46. SOURCES = $(MISSING_SRC) \
  47.     checkart.c cleanfrom.c clientactive.c clientlib.c closeonexec.c \
  48.     dbz.c defdist.c findheader.c genid.c getconfig.c getdtab.c \
  49.     getfqdn.c getmodaddr.c gettime.c inndcomm.c innvers.c localopen.c \
  50.     lockfile.c nonblocking.c parsedate.c qio.c radix32.c readin.c \
  51.     remopen.c resource.c sendarticle.c sendpass.c waitnb.c wildmat.c \
  52.     xfopena.c xmalloc.c xmemerr.c xrealloc.c xwrite.c xwritev.c
  53. OBJECTS = $(MISSING_OBJ) \
  54.     checkart.o cleanfrom.o clientactive.o clientlib.o closeonexec.o \
  55.     dbz.o defdist.o findheader.o genid.o getconfig.o getdtab.o \
  56.     getfqdn.o getmodaddr.o gettime.o inndcomm.o innvers.o localopen.o \
  57.     lockfile.o nonblocking.o parsedate.o qio.o radix32.o readin.o \
  58.     remopen.o resource.o sendarticle.o sendpass.o waitnb.o wildmat.o \
  59.     xfopena.o xmalloc.o xmemerr.o xrealloc.o xwrite.o xwritev.o
  60.  
  61. all:            libinn.a
  62.  
  63. install:        ../libinn.a ../llib-linn.ln
  64.  
  65. clobber clean:
  66.     rm -f *.o libinn.a llib-linn.ln
  67.     rm -f parsedate parsedate.c
  68.     rm -f profiled libinn_p.a
  69.     rm -f all install lint lint.all
  70.  
  71. tags ctags:    $(SOURCES)
  72.     $(CTAGS) $(SOURCES) ../include/*.h
  73.  
  74. libinn.a:        $(P) $(OBJECTS)
  75.     ar r $@ $(OBJECTS)
  76.  
  77. llib-linn.ln:        lint
  78.     $(SHELL) ./makellib.sh $(LINTLIBSTYLE) "$(LINTFLAGS)" $(SOURCES)
  79.  
  80. lint:            $(P) $(OBJECTS)
  81.     @rm -f lint
  82.     -lint -u $(LINTFLAGS) $(SOURCES) $(LINTFILTER) >lint.all
  83.     -grep -v yaccpar <lint.all >lint
  84.  
  85. ##  Profiling.  The rules are a bit brute-force, but good enough.
  86. profiled:        ../libinn_p.a
  87.     date >$@
  88.  
  89. ../libinn_p.a:        $(SOURCES)
  90.     rm -f $(OBJECTS)
  91.     $(MAKE) libinn.a CFLAGS="$(CFLAGS) $(PROF)"
  92.     mv libinn.a ../libinn_p.a
  93.     $(RANLIB) ../libinn_p.a
  94.     rm -f $(OBJECTS)
  95.  
  96. parsedate.c:        parsedate.y
  97.     @echo Expect 6 shift/reduce conflicts
  98.     $(YACC) parsedate.y
  99.     @mv y.tab.c parsedate.c
  100.  
  101. parsedate:        $(P) parsedate.c gettime.o
  102.     $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -DTEST -DYYDEBUG parsedate.c gettime.o
  103.  
  104. ##  These rules will only be triggered if syslog appears in the MISSING_xxx
  105. ##  macros above.
  106. syslog.o:        syslog.c
  107. syslog.c:        ../syslog/syslog.c
  108.     (cd .. ; $(MAKE) syslogfix )
  109.  
  110. ## This rule will only be triggered if $(OSXATTOBJ) is in MISSING_OBJ.
  111. version.o:
  112.     @rm -f $(OSXATTOBJ)
  113.     /.attbin/ar vx /usr/.attlib/libc.a $(OSXATTOBJ)
  114.  
  115. dbz.o:            dbz.c
  116.     $(CC) $(DBZCFLAGS) -c dbz.c
  117. ../include/dbz.h:    $(DBZDIR)/dbz.h
  118.     @rm -f ../include/dbz.h
  119.     cat $(DBZDIR)/dbz.h >../include/dbz.h
  120. dbz.c:            $(DBZDIR)/dbz.c dbz.pch
  121.     @rm -f dbz.c
  122.     cat $(DBZDIR)/dbz.c >dbz.c
  123.     patch -s -p0 <dbz.pch
  124.     $(IFTRUE) '-f dbz.c.rej' 'echo Cannot apply patch ; exit 1'
  125.     rm -f dbz.c.orig
  126.  
  127. ##  Only do this if you're building a release kit.
  128. PATCH:            dbz.pch.intro
  129.     rcs -l dbz.pch
  130.     @rm -f dbz.pch
  131.     cat dbz.pch.intro >dbz.pch
  132.     @echo "Ignore diff's exit status."
  133.     -diff -c $(DBZDIR)/dbz.c dbz.c >>dbz.pch
  134.     ci -u dbz.pch
  135.  
  136. ##
  137. ccenter:    $(SOURCES)
  138.     #load $(CFLAGS) $(SOURCES)
  139.  
  140. ##  Low-level install actions.
  141. ../libinn.a:        libinn.a
  142.     @rm -f $@
  143.     cp libinn.a $@
  144.     $(RANLIB) $@
  145. ../llib-linn.ln:    llib-linn.ln
  146.     @rm -f $@
  147.     cp llib-linn.ln $@
  148.  
  149. ##  Dependencies.  Default list, below, is probably good enough.
  150. depend:        Makefile $(SOURCES) ../include/dbz.h
  151.     makedepend $(DEFS) $(SOURCES)
  152.  
  153. # DO NOT DELETE THIS LINE -- make depend depends on it.
  154. checkart.o:    ../include/nntp.h
  155. checkart.o:    ../include/nntp.h
  156. cleanfrom.o:    ../include/macros.h
  157. clientactive.o:    ../include/paths.h
  158. clientlib.o:    ../include/myserver.h
  159. clientlib.o:    ../include/nntp.h
  160. clientlib.o:    ../include/macros.h
  161. clientlib.o:    ../include/paths.h
  162. dbz.o:        ../include/dbz.h
  163. defdist.o:    ../include/paths.h
  164. defdist.o:    ../include/macros.h
  165. findheader.o:    ../include/macros.h
  166. genid.o:    ../include/configdata.h
  167. genid.o:    ../include/clibrary.h
  168. genid.o:    ../include/libinn.h
  169. getconfig.o:    ../include/macros.h
  170. getconfig.o:    ../include/paths.h
  171. getfqdn.o:    ../include/paths.h
  172. getmodaddr.o:    ../include/macros.h
  173. getmodaddr.o:    ../include/paths.h
  174. inndcomm.o:    ../include/inndcomm.h
  175. inndcomm.o:    ../include/macros.h
  176. inndcomm.o:    ../include/nntp.h
  177. inndcomm.o:    ../include/paths.h
  178. innvers.o:    ../include/patchlevel.h
  179. localopen.o:    ../include/macros.h
  180. localopen.o:    ../include/nntp.h
  181. localopen.o:    ../include/paths.h
  182. parsedate.o:    ../include/macros.h
  183. qio.o:        ../include/macros.h
  184. qio.o:        ../include/qio.h
  185. readin.o:    ../include/macros.h
  186. remopen.o:    ../include/nntp.h
  187. remopen.o:    ../include/paths.h
  188. resource.o:    ../include/macros.h
  189. sendarticle.o:    ../include/nntp.h
  190. sendpass.o:    ../include/macros.h
  191. sendpass.o:    ../include/nntp.h
  192. sendpass.o:    ../include/paths.h
  193. xmalloc.o:    ../include/macros.h
  194. xrealloc.o:    ../include/macros.h
  195.  
  196. $(OBJECTS):    ../include/configdata.h \
  197.         ../include/clibrary.h \
  198.         ../include/libinn.h
  199.